using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

namespace RZEngine2D
{
    /*
     * Class: rzCamera2D
     * Author: Erick Folckemer <RetroZelda>
     * Description: The Main 2D Camera Class that works with the engine
     */ 
    public class rzCamera2D
    {
        Point ptPosition;
        Point ptSize;

        // used for any time based events
        float fTotalTime;
        float fCurrentTime;

        // camera's targe
        Object pTarget; // TODO: implement a templated system
        bool bSnap;
        float fFollowSpeed;

        private static readonly rzCamera2D s_Instance;
        public static rzCamera2D Instance
        {
            get { return s_Instance; }
        }

        // TODO: Implement the Texture managert?

    }
}
